<?php
/**
 * 后台设置框架基于 options framework开发
 * 为了避免与主题框架冲突，我们对原框架函数名进行了更改。
 * 2018.12.07
 */
require WBOXPR_DIR . 'admin/options-framework.php';

function wbox_seo_option_name() {
    $wboxpr_option_settings       = get_option('wboxpr_option');
    $wboxpr_option_settings['id'] = 'wbox_seo_settings';
    update_option('wboxpr_option', $wboxpr_option_settings);
}

//初始化数据
function wboxpr_option_options() {
// 将所有分类（categories）加入数组
    $options_categories     = array();
    $options_categories_obj = get_categories('hide_empty=0');
    foreach ($options_categories_obj as $category) {
        $options_categories[$category->cat_ID] = $category->cat_name;
    }
//将所有页面加入数组
    $options_pages     = array();
    $options_pages_obj = get_pages('sort_column=post_parent,menu_order');
    $options_pages[''] = 'Select a page:';
    foreach ($options_pages_obj as $page) {
        $options_pages[$page->ID] = $page->post_title;
    }

    //将所有文章类型加入数组
    $post_types     = array();
    $post_types_obj = get_post_types(array('public' => true));
    foreach ($post_types_obj as $post_type) {
        if ($post_type != 'attachment') {
            $postType               = get_post_type_object($post_type);
            $post_types[$post_type] = $postType->labels->singular_name;
        }
    }

//文本编辑框样式
    $wp_editor_settings = array(
        'wpautop'       => true, // 默认
        'textarea_rows' => 2,
        'tinymce'       => array('plugins' => 'wordpress'),
    );

    $options = array();

    $options[] = array(
        'name' => '发布文章',
        'type' => 'heading',
        'desc' => '请先确保所有文本及设置正确后执行本操作。',
    );

    $options[] = array( 
        'name' => '请选择要发布的文本文件[多选]',
        'type' => 'info',
        'desc' => '<input id="tempnum" type="file" multiple="multiple" class="button"><a href="javascript:;" class="button start_robot">开始发布</a>
        <div class="wbtotal"><span id="jindu">0%</span><div class="wbbar" style="width:0%;"><span></span></div></div>',
    );

    $options[] = array( 
        'name' => '输出列表',    
        'type' => 'info',
        'desc' => '<div class="returnlist"><ol class="returnlistol"></ol></div>',
    );

    $options[] = array(
        'name' => '发布设置',
        'type' => 'heading',
        'desc' => '本插件将自动调用文本标题为文章标题，文本内容为文章内容，关键词请根据以下设置进行操作',
    );

    $options[] = array(
        'name'    => '文章分类设置',
        'subname' => '请选择生成文章的分类',
        'id'      => 'wb_pr_cat',
        'std'     => 1,
        'type'    => 'select',
        'options' => $options_categories,
    );

    $options[] = array(
        'subname' => '分类隐藏开关',
        'desc'    => '选中 = 开启，开启后前台首页、搜索页将自动排除选中的分类',
        'id'      => 'wb_pr_cathide',
        'std'     => '0',
        'type'    => 'checkbox',
    );

    $options[] = array(
        'type' => 'line',
    );

    $options[] = array(
        'name'    => '文章发布设置',
        'subname' => '文章关键词设置(一行一个)',
        'id'      => 'wb_pr_keywords',
        'desc'    => '关键词将根据下面的设置进行随机插入操作',              
        'type'    => 'textarea',
    );

    $options[] = array(
        'subname' => '关键词个数设置',
        'id'      => 'wb_pr_keyword_num',
        'desc'    => '单篇文章随机插入关键词个数',
        'std'     => 3,
        'class'   => 'mini',
        'type'    => 'text',
    );

    $options[] = array(
        'subname' => '关键词插入TAG开关',
        'desc'    => '选中 = 开启，开启关键词将同时添加到文章TAG标签',
        'id'      => 'wb_pr_keywordtotag',
        'std'     => '0',
        'type'    => 'checkbox',
    );

    $options[] = array(
        'subname' => '发布时间设置（分钟）',
        'id'      => 'wb_pr_time_num',
        'desc'    => '文章发布时间设置：（当前时间 + 到设置时间）  获取一个随机数作为发布时间，可以设置为负数，如果留空或设置为0发布时间即为当前时间',
        'std'     => 0,
        'class'   => 'mini',
        'type'    => 'text',
    );

    $options[] = array(
        'subname' => '干扰码开关',
        'desc'    => '选中 = 开启，在文章每段内加入干扰码',
        'id'      => 'wb_pr_char_off',
        'std'     => '0',
        'type'    => 'checkbox',
    );

    $options[] = array(
        'subname' => '描述文本设置',
        'id'      => 'wb_pr_desc',
        'type'    => 'textarea',
    );

    $options[] = array(
        'subname' => '描述插入文章头部',
        'desc'    => '选中 = 开启，开启描述内容将插入到文章头部',
        'id'      => 'wb_pr_desctocon',
        'std'     => '0',
        'type'    => 'checkbox',
    );

    $options[] = array(
        'subname' => '内容前插入图片设置',
        'id'    => 'wb_pr_img',
        'desc'  => '设置图片后将自动在内容前添加图片',
        'options' => array(),
        'type'  => 'upload',
    );

    $options[] = array(
        'name' => '高级设置',
        'type' => 'heading',
        'desc' => '仔细阅读, 按照提示进行设置',
    );

    $options[] = array(
        'subname' => '是否将文本内第一行作为标题',
        'desc'    => '选中 = 开启，开启后使用文本文件内第一行内容作为标题',
        'id'      => 'wb_pr_title_in_line',
        'std'     => '0',
        'type'    => 'checkbox',
    );

    $options[] = array(
        'subname' => '是否转换编码',
        'desc'    => '选中 = 开启，开启后将强制转换编码, 如果提示内容为空, 可修改此项',
        'id'      => 'wb_pr_iconv',
        'std'     => '1',
        'type'    => 'checkbox',
    );

    $options[] = array(
        'subname' => '是否转义HTML',
        'desc'    => '选中 = 开启，开启后将转义HTML代码为实体显示',
        'id'      => 'wb_pr_esc_attr',
        'std'     => '0',
        'type'    => 'checkbox',
    );


    $url = str_replace(array('/','https:','http:'), array('','',''), home_url());
    $options[] = array(
        'name' => '百度推送',
        'type' => 'heading',
        'desc' => '文章生成时自动向百度推送',
    );

    $options[] = array(
        'name' => '推送开关',
        'desc'    => '选中 = 开启，开启后将自动推送',
        'id'      => 'wb_pr_bd_off',
        'std'     => '0',
        'type'    => 'checkbox',
    );

    $options[] = array(
        'name' => 'Token',
        'subname' => '推送域名为 '.$url.' ,请与下面token对应否则会导致推送不成功',
        'id'      => 'wb_pr_bd_token',
        'desc'    => '百度Token',
        'type'    => 'text',
    );

    return $options;
}